home *** CD-ROM | disk | FTP | other *** search
/ Mission 3 / Mission 3.zip / Mission 3.iso / tools / facevalu / docu / w_format.lst < prev   
File List  |  1998-04-01  |  8KB  |  235 lines

  1. ' -- FV 2.0 Wrinkle format:
  2. ' --
  3. ' -- This is the format of the wrinkles, all lines starting with "--" should
  4. ' -- be deleted. No empty lines or comments on flag lines allowed.
  5. ' -- The first entry tells FV if the wrinkle is selected by
  6. ' -- including a tree in the RSC. If so, it should look like this:
  7. ' --
  8. REM FV WRINKLE: RSC
  9. ' --
  10. ' -- The tree name should be "fvw_xxxx" and be 8 characters long. FV will
  11. ' -- then include the file FVW_XXXX.LST from the WRINKLES directory, so that is
  12. ' -- your filename. (xxxx is where your name goes...)
  13. ' -- If the wrinkle does not use a RSC tree, you use this header instead:
  14. ' --
  15. REM FV WRINKLE: LIST
  16. ' --
  17. ' -- The wrinkle will then be selectable from the include listbox in FV.
  18. ' -- The next entry provides the name for the ListBox (for LIST type wrinkles):
  19. ' --
  20. REM FV TITLE: Calculator
  21. ' --
  22. ' -- Your wrinkle also needs a "long name", which is used for your proc-names:
  23. ' -- It must be one single word, only lowercase characters are allowed, also
  24. ' -- digits (like in GFA-vars).
  25. ' --
  26. REM FV NAME: calculator
  27. ' --
  28. ' -- Next follows a section that is informational only (will be ignored by FV):
  29. ' --
  30. REM FV AUTHOR: Vegard Hofsøy
  31. REM FV COPYRIGHT: ©1996 Columbus Soft/Vegard Hofsøy
  32. ' --
  33. ' -- If wrinkles are used in the project, a procedure called @wrinkles_info
  34. ' -- will be added to the produced LST file. The wrinkle author can add
  35. ' -- wrinkle information to this procedure by using the following flags:
  36. ' --
  37. REM FV WRINKLE INFO
  38. ' --
  39. ' -- This signals the start of the section that will be included in the
  40. ' -- @wrinkles_info procedure. *All* lines between this and the terminating
  41. ' -- flag will be included. For readability, you should insert a separating line
  42. ' -- at the top of your entry, like the following line:
  43. ' ----------------------------------------------------------------------------
  44. ' --
  45. ' -- You must terminate your entry using the following flag:
  46. ' --
  47. REM FV END
  48. ' --
  49. ' -- As your wrinkle may need code the programmer may not include, you can
  50. ' -- set some flags in the Wrinkle to ensure that it has access to all the
  51. ' -- resources it needs.
  52. ' --
  53. ' -- Use this flag to include code to deal with userwindows:
  54. ' --
  55. REM FV USERWIN:
  56. ' --
  57. ' -- Use this flag to include code for userwindows with dropdown menus:
  58. ' --
  59. REM FV USERWIN_DROP:
  60. ' --
  61. ' -- Use this flag to include code for userwindows with their own VDI virtual
  62. ' -- workstation:
  63. ' --
  64. REM FV USERWIN_WKST:
  65. ' --
  66. ' -- Use this flag to include code for blitscrolling:
  67. ' --
  68. REM FV BLIT:
  69. ' --
  70. ' -- Use this flag to include bubble help:
  71. ' --
  72. REM FV BUBBLEHELP:
  73. '
  74. ' -- Use this flag to include LST files from the EXTRA/ folder (this flag can
  75. ' -- be used more than once in a wrinkle, to include more than one EXTRA/
  76. ' -- routine):
  77. ' --
  78. REM FV EXTRA: FILENAME.LST
  79. ' --
  80. ' -- FILENAME is the filename of the EXTRA/ routine you want to include.
  81. ' --
  82. ' -- Then follows the code you want to include in the user_ routines. A flag
  83. ' -- signals the start:
  84. ' --
  85. REM FV user_xxxxxxxxxxx
  86. ' --
  87. ' -- Then follows the actual code to include in this routine. This should
  88. ' -- be as short as possible, to not clutter up the code. Use calls to your own
  89. ' -- routines if at all possible. Include brief docs where neccesary.
  90. ' -- If possible, use just only _one_ line: a GOSUB to one of the wrinkles own
  91. ' -- subprocs, that can be included (see below).
  92. ' -- Every line here must have a comment with a special flag of your wrinkle.
  93. ' -- Here is an example:
  94. ' --   @calculator_draw(x&,y&)        !ΩΩFVW:calculatorΩΩ
  95. ' -- The omaga-sign ("Ω") can be typed by <Alt>+<2>+<3>+<4>
  96. ' -- By the way, use the long wrinklename here (see above).
  97. ' -- It must be terminated by the following line:
  98. ' --
  99. REM FV END
  100. ' --
  101. ' -- *All* lines within the flags will be included in the final LST
  102. ' --
  103. ' -- The user_ routines that may be used in this way are:
  104. ' --
  105. REM FV user_var_index
  106. REM FV END
  107. REM FV user_rsc_var_init
  108. REM FV END
  109. REM FV user_rsc_interact
  110. REM FV END
  111. REM FV user_rsc_context_help
  112. REM FV END
  113. REM FV user_rsc_bubble_help
  114. REM FV END
  115. REM FV user_rsc_draw_extra
  116. REM FV END
  117. REM FV user_on_open
  118. REM FV END
  119. REM FV user_on_exit
  120. REM FV END
  121. REM FV user_quit_ok
  122. REM FV END
  123. REM FV user_systemcheck
  124. REM FV END
  125. REM FV user_gem_messages
  126. REM FV END
  127. REM FV user_win_close_all
  128. REM FV END
  129. REM FV user_window_content
  130. REM FV END
  131. REM FV user_mouse
  132. REM FV END
  133. REM FV user_keyb
  134. REM FV END
  135. REM FV user_win_close_ok
  136. REM FV END
  137. REM FV user_dragdrop_init
  138. REM FV END
  139. REM FV user_dragdrop_path
  140. REM FV END
  141. REM FV user_dragdrop_accept
  142. REM FV END
  143. REM FV user_dragdrop_loaddata
  144. REM FV END
  145. ' --
  146. ' -- The @user_rsc_interact() and @user_rsc_context_help routine is special.
  147. ' -- Code in this routines are placed within the SELECT tree&/CASE
  148. ' -- structure. Therefore you *must* start the code to go into this routine
  149. ' -- with a CASE xxxx&.
  150. ' -- In the @user_rsc_draw_extra() routine you must provide the SELECT/CASE
  151. ' -- structure yourself (not for use by LIST type wrinkles).
  152. ' --
  153. ' -- In addition, you can put initialization parts into the @init routine
  154. ' --
  155. REM FV init
  156. REM FV END
  157. ' --
  158. ' -- You only need to include the routines that your wrinkle will put
  159. ' -- code into.
  160. ' --
  161. ' -- Wrinkles can do their interaction in @user_rsc_interact() as described
  162. ' -- above. If this is not satisfactory for your Wrinkle (to messy), you can
  163. ' -- include Wrinkle callback routines. These should have the prefix "user_",
  164. ' -- and the name(s) should clearly indicate which wrinkle they belong to.
  165. ' -- Inside the routine, explain its operation as comments. This will make
  166. ' -- them easier to use for all programmers. Start with this flag:
  167. ' --
  168. REM FV WRINKLE CALLBACK
  169. REM FV END
  170. ' --
  171. ' -- As usual, the entry is terminated with "REM FV END". Remember to fold your
  172. ' -- routines before saving. The names of these callback-procedures must be
  173. ' -- like shown here:  PROC user_longname_xxx(...)
  174. ' -- For e.g.: user_calculator_macrostarted(macro$)
  175. ' -- If other wrinkles should can put code in here like into the common
  176. ' -- user-routines, too, you can include two (!) wsnippet-flags:
  177. ' -- ' ΩΩwsnippet ΩΩ
  178. ' -- ' ΩΩwsnippet ΩΩ
  179. ' -- Those lines must start exact like shown above (only one space after "'").
  180. ' -- FaceValue will merge code from other wrinkle between these two lines.
  181. ' --
  182. ' -- The header part of the Wrinkle must be terminated by the following line:
  183. ' --
  184. REM FV ENDHEADER
  185. ' --
  186. ' -- Last in the LST file goes your routines for inclusion by FV (added at the
  187. ' -- end of the FV produced LST file). All routines should be folded!
  188. ' -- All procedures and functions here must start with the long-name (see above)
  189. ' -- and an underscore. e.g.:  PROC calculator_draw(x&,y&)
  190. ' --
  191. ' -- One further thing: It you are using global vars, their name have to start
  192. ' -- with the long wrinkle-name, too. E.g.: calculator_value&
  193. ' --
  194. ' -- Here follows an example wrinkle of the RSC type:
  195. REM FV WRINKLE: RSC
  196. REM FV TITLE: Acme
  197. REM FV NAME: acme
  198. REM FV AUTHOR: Vegard Hofsøy
  199. REM FV COPYRIGHT: ©1996 Columbus Soft/Vegard Hofsøy
  200. REM FV WRINKLE INFO
  201. ' ----------------------------------------------------------------------------
  202. ' The Acme Wrinkle includes a callable routine. The syntax for calling it
  203. ' is as follows:
  204. '
  205. ' @acme_callable(test&)
  206. '
  207. ' <test&> should be 123 for fun & profit, 321 for backwards thinking...
  208. REM END
  209. REM FV user_var_index
  210. ' acme_variable&            !this variable is used by the Acme Wrinkle
  211. REM END
  212. REM FV user_rsc_var_init
  213. acme_variable&=-1               !ΩΩFVW:acmeΩΩ
  214. REM END
  215. REM FV user_rsc_interact
  216. CASE fvw_acme&                                  !ΩΩFVW:acmeΩΩ
  217. @acme_handler(index&,tree&,object&,mc&,sub_me&) !ΩΩFVW:acmeΩΩ
  218. REM END
  219. REM FV user_rsc_draw_extra
  220. SELECT tree&                                    !ΩΩFVW:acmeΩΩ
  221. CASE fvw_acme&                                  !ΩΩFVW:acmeΩΩ
  222.   @acme_draw_object(index&,cx&,cy&,cw&,ch&)     !ΩΩFVW:acmeΩΩ
  223. ENDSELECT                                       !ΩΩFVW:acmeΩΩ
  224. REM FV END
  225. REM FV ENDHEADER
  226. > PROCEDURE acme_handler(index&,tree&,object&,mc&,sub_me&)
  227.   ' (just a dummy)
  228. RETURN
  229. > PROCEDURE acme_draw_object(index&,cx&,cy&,cw&,ch&)
  230.   ' (just a dummy)
  231. RETURN
  232. > PROCEDURE acme_callable(test&)
  233.   ' (just a dummy)
  234. RETURN
  235.